package com.company.nuwa.redis.common;

import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.function.Function;

/**
 * <p>description</p >
 *
 * @author youyoukele
 * @version 1.0
 * @date 2021/7/13
 */
@Data
@Builder
@EqualsAndHashCode
public class KeyObj implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 缓存中key的参数值，用该属性，通过某种规则可以获取在缓存中的key
     * <p>
     * e.g 123456789
     */
    private String param;

    /**
     * 使用{@link #param} 属性，再通过该规则可以获取，在缓存中的key -> user-info:uid:123456789
     */
    private Function<String, String> genKey;

}
